Computer designs may attempt to execute as many instructions as possible concurrently. To find enough instructions to keep busy, the processors in the computers may use a branch prediction unit (BPU) to guess which instructions will be executed. The branch prediction unit may include a path register, which may be known in the art as a stew register, a global predictor, a local predictor and the like. However, some components of the BPU such as for example, the stew register and/or connections between the components such as for example, the connection between the global predictor and the local predictor may include critical paths. The critical paths may limit the work frequency of the processor that contains the BPU.
Thus, there is a need for better ways to provide branch predictions that mitigate the above disadvantages.
It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.